【AMBA、AHB、APB、AXI总线介绍及对比】

您所在的位置:网站首页 axi4总线 valid信号 【AMBA、AHB、APB、AXI总线介绍及对比】

【AMBA、AHB、APB、AXI总线介绍及对比】

2024-06-02 12:51| 来源: 网络整理| 查看: 265

文章目录 前言 1、AMBA、AHB、APB、AXI总线介绍及对比 2、AHB-AXI-ACE-CHI演进 3、AXI协议 3.1 AXI结构和特点 3.2 AXI接口信号 3.3 握手机制 3.4 通道信号要求 3.5 握手信号的依赖关系 3.6传输结构 3.6.1 地址结构 3.6.2窄传输 3.6.3非对齐传输 3.6.4读写响应结构 3.7 AXI协议主要特性 3.7.1 outstanding(待处理的传输) 3.7.2 out of order(乱序传输) 3.7.3.interleaving(交织传输) 3.7.4 读写分离 3.7.5 Narrow 传输机制 3.7.6 Unaligned 传输机制 3.8 burst传输详解 3.8.1 读写信号 3.8.2 burst len/size/type 3.4 AXI几大特性总结 3.4.1. Burst transfer 3.4.2. Outstanding transfer 3.4.3. Out-of-order 3.4.4. Interleaving transfer 4、AHB协议 4.1 简介 4.2 AMBA2 AHB2 4.2.1接口 4.2.3 传输类型/大小 4.2.4 burst操作 4.2.5 时序 4.2.6 地址译码decoder 4.2.7 传输响应 4.2.8 数据总线端结构 4.2.9 仲裁 4.2.10 分块传输 4.3 AMBA3 AHB-Lite 4.3.1 架构 4.3.2 接口 4.4 AMBA5 AHB5 4.4.1 特性 4.4.2 接口 4.4.3 突发类型 4.4.4 传输类型 4.4.5 传输大小 4.4.5 保护类型 5、APB协议 5.1 apb简介 5.2 apb协议演进 5.3 接口信号 5.4 状态和时序 总结

前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。

提示:以下是本篇文章正文内容,下面案例可供参考

1、AMBA、AHB、APB、AXI总线介绍及对比

什么是AMBA? 现如今,集成电路芯片的规模越来越大。数字IC从基于时序驱动的设计方法,发展到基于IP复用的设计方法,并在SoC设计中得到了广泛应用。在基于IP复用的SoC设计中,片上总线设计是最关键的问题。 因而,业界出现了很多片上总线标准,AMBA是其中之一。 在这里插入图片描述

AMBA(Advanced Microcontroller Bus Architecture),是一种开放的协议,主要用于SoC内部和ASIC,用于连接各种功能模块。简称AMBA总线,最早由ARM设计推出。AMBA是相对使用比较广的片内总线技术,已成为一种流行的工业标准片上结构,如今不单单是ARM专有的。

AMBA总线可以将RISC处理器集成在其他IP芯核和外设中,它是有效连接IP核的“数字胶”,并且是ARM复用策略的重要组件。它不是芯片与外设之间的接口,而是内核与芯片上其他元件进行通信的接口。

首先,让我们按照它的发布版本来认识一下它。 AMBA版本1规范定义:ASB( Advanced System Bus)与 APB(Advanced Peripheral Bus); AMBA版本2规范定义:AHB(Advanced High-performance Bus)、ASB( Advanced System Bus)与 APB(Advanced Peripheral Bus); AMBA版本3规范定义:AXI v1.0(Advanced Extensible Interface)、AHB-Lite v1.0(Advanced High-performance Bus Lite)、 APB v1.0(Advanced Peripheral Bus)与ATB v1.0(Advanced Trace Bus); AMBA版本4规范定义:ACE(AXI Coherency Extensions)、ACE-Lite(AXI Coherency Extensions Lite)、AXI4(Advanced Extensible Interface 4) 、AXI4-Lite(Advanced Extensible Interface 4 Lite)、AXI4-Stream v1.0(Advanced Extensible Interface 4 Stream)、APB v2.0(Advanced Peripheral Bus)与ATB v1.1(Advanced Trace Bus);

它们之间的区别在哪里呢?让我们来依次介绍它们。 AHB (Advanced High-performance Bus) 高级高性能总线 APB (Advanced Peripheral Bus) 高级外设总线 ASB (Advanced System Bus) 高级系统总线

AXI (Advanced eXtensible Interface) 高级可拓展接口 其中AXI是在AMBA3.0的协议中增加的,可以用于ARM和FPGA的高速数据交互,剩下的三种是在AMBA2.0协议中定义的总线标准。

AHB介绍

AHB主要用于高性能模块(如CPU、DMA和DSP等)之间的连接,作为SoC的片上系统总线,它包括以下一些特性:单个时钟边沿操作;非三态的实现方式;支持突发传输;支持分段传输;支持多个主控制器;可配置32位~128位总线宽度;支持字节、半字节和字的传输。 AHB 系统由主模块、从模块和基础结构(Infrastructure)3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。基础结构则由仲裁器(arbiter)、主模块到从模块的多路器、从模块到主模块的多路器、译码器(decoder)、虚拟从模块(dummy Slave)、虚拟主模块(dummy Master)所组成。其互连结构如下图所示。 在这里插入图片描述

AHB的组成 Master(主控制器):能够发起读写操作,提供地址和控制信号,同一时间只有1个Master会被激活。 Slave(从设备):在给定的地址范围内对读写操作作响应,并对Master返回成功、失败或者等待等状态。 Arbiter(仲裁器):负责保证总线上一次只有1个Master在工作。仲裁协议是规定的,但是仲裁算法可以根据应用决定。

Decoder(译码器):负责对地址进行解码,并提供片选信号到各Slave。

AHB基本信号 HADDR:32位系统地址总线; HTRANS:M指示传输状态,NONSEQ、SEQ、IDLE、BUSY; HWRITE:传输方向1-写,0-读; HSIZE:传输单位; HBURST:传输的burst类型; HWDATA:写数据总线,从M写到S; HREADY:S应答M是否读写操作传输完成,1-传输完成,0-需延长传输周期。需要注意的是HREADY作为总线上的信号,它是M和S的输入;同时每个S需要输出自HREADY。所以对于S会有两个HREADY信号,一个来自总线的输入,一个自己给到多路器的输出; HRESP:S应答当前传输状态,OKAY、ERROR、RETRY、SPLIT; HRDATA:读数据总线,从S读到M;

AHB基本传输 两个阶段 地址周期(AP),只有一个cycle 数据周期(DP),由HREADY信号决定需要几个cycle 流水线传送 先是地址周期,然后是数据周期

AHB突发传输与AXI突发传输的特点 AHB协议需要一次突发传输的所有地址,地址与数据锁定对应关系,后一次突发传输必须在前次传输完成才能进行; AXI只需要一次突发的首地址,可以连续发送多个突发传输首地址而无需等待前次突发传输完成,并且多个数据可以交错传递,此特征大大提高了总线的利用率; AHB总线与AXI总线均适用于高性能、高带宽的SoC系统,但AXI具有更好的灵活性,而且能够读写通道并行发送,互不影响;更重要的是,AXI总线支持乱序传输,能够有效地利用总线的带宽,平衡内部系统。因此SoC系统中,均以AXI总线为主总线,通过桥连接AHB总线与APB总线,这样能够增加SoC系统的灵活性,更加合理地把不同特征IP分配到总线上。

APB介绍

APB主要用于低带宽的周边外设之间的连接,例如UART、1284等,它的总线架构不像AHB支持多个主模块,在APB里面唯一的主模块就是APB 桥。 APB总线协议包含一个APB桥,它用来将AHB,ASB总线上的控制信号转化为APB从设备控制器上可用信号。APB总线上所有的外设都是从设备,这些从设备有以下特点: a 接收有效的地址和控制访问 b 当APB上的外设处于非活动状态时,可以将这些外设处于0功耗状态 c 译码器可以通过选通信号,提供输出时序(非锁定接口) d 访问时可执行数据写入

其特性包括:两个时钟周期传输;无需等待周期和回应信号;控制逻辑简单,只有四个控制信号。APB上的传输可以用下图所示的状态图来说明。 在这里插入图片描述

1、系统初始化为IDLE状态,此时没有传输操作,也没有选中任何从模块。 2、当有传输要进行时,PSELx=1,,PENABLE=0,系统进入SETUP状态,并只会在SETUP状态停留一个周期。当PCLK的下一个上升沿到来时,系统进入ENABLE状态。 3、系统进入ENABLE状态时,维持之前在SETUP状态的PADDR、PSEL、PWRITE不变,并将PENABLE置为1。传输也只会在ENABLE状态维持一个周期,在经过SETUP与ENABLE状态之后就已完成。之后如果没有传输要进行,就进入IDLE状态等待;如果有连续的传输,则进入SETUP状态。 APB读写传输 在这里插入图片描述

APB写传输 一次传输过程中,psel保持两个周期不变,且在此期间,paddr、pwrite也保持不变,penable在psel有效的第2个周期有效。为了降低功耗,地址信号和写信号将在传输后不再改变,直到发生下一次传输。协议仅要求使能信号有个规则的跳变,背靠背传输情况下,选择和写信号可能有小跳变。 在这里插入图片描述

APB读传输

读传输时各信号的时序和写时一样,在读传输中,从机必须在ENABLE周期提供数据,数据在ENABLE末尾的时钟上升沿被采样。

ASB介绍 AMBA2.0 规范中的ASB总线适用于连接高性能的系统模块。它的读/写数据总线采用的是同一条双向数据总线,可以在某些高速且不必要使用AHB 总线的场合作为系统总线,可以支持处理器、片上存储器和片外处理器接口及与低功耗外部宏单元之间的连接。 ASB支持高性能处理器,片上内存,片外内存提供接口和慢速外设。高性能,数据传输,多总线主控制器,突发连续传输。ASB总线是位于APB总线架构之上的用于高性能的总线协议,它有如下特点: a 突发连续传输 b 单管道数据传输 c 多总线主控制器

AXI介绍 AXI是一种总线协议,该协议是ARM公司提出的AMBA3.0中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。AMBA4.0将其修改升级为AXI4.0。 AMBA4.0 包括AXI4.0、AXI4.0-lite、ACE4.0、AXI4.0-stream。 AXI4.0-lite是AXI的简化版本,ACE4.0 是AXI缓存一致性扩展接口,AXI4.0-stream是ARM公司和Xilinx公司一起提出,主要用在FPGA进行以数据为主导的大量数据的传输应用。 AXI协议是基于burst的传输,并且定义了5个独立的传输通道:读地址通道、读数据通道、写地址通道、写数据通道、写响应通道。 地址通道携带控制消息,用于描述被传输的数据属性;数据传输使用写通道来实现master到slave的传输,slave使用写响应通道来完成一次写传输;读通道用来实现数据从slave到master的传输。

由若干master设备和slave设备通过一些形式的interconnect组成的典型的系统如下图所示,AXI总线即可作为其中的Interface,实现数据通信。 在这里插入图片描述

AXI的性能 AXI总线是一种多通道传输总线,将地址、读数据、写数据、握手信号在不同的通道中发送,不同的访问之间顺序可以打乱,用BUSID来表示各个访问的归属。主设备在没有得到返回数据的情况下可发出多个读写操作。读回的数据顺序可以被打乱,同时还支持非对齐数据访问。 AXI总线还定义了在进出低功耗节电模式前后的握手协议。规定如何通知进入低功耗模式,何时关断时钟,何时开启时钟,如何退出低功耗模式。这使得所有IP在进行功耗控制的设计时,有据可依,容易集成在统一的系统中。

AXI的特点 单向通道体系结构-信息流只以单方向传输,简化时钟域间的桥接,减少门数量。当信号经过复杂的片上系统时,减少延时。 支持多项数据交换-通过并行执行猝发操作,极大地提高了数据吞吐能力,可在更短的时间内完成任务,在满足高性能要求的同时,又减少了功耗。 独立的地址和数据通道-地址和数据通道分开,能对每一个通道进行单独优化,可以根据需要控制时序通道,将时钟频率提到最高,并将延时降到最低。 增强的灵活性-AXI技术拥有对称的主从接口,无论在点对点或在多层系统中,都能十分方便地使用AXI技术。

AXI读写数据 在这里插入图片描述

写入数据 1、master通过写地址通道发出写入请求; 2、master通过写数据通道发送写入的数据; 3、slave在完成写入动作后(写数据通道last),通过写响应通道发回确认信息。 ](https://img-blog.csdnimg.cn/direct/5681d36759bf4152ba867d5d2a931698.png)

读取数据 1、master通过读地址通道发出读取请求; 2、slave通过读数据通道将读取的数据传给master。 在这里插入图片描述

握手过程

5个传输通道均使用VALID/READY信号对传输过程的地址、数据、控制信号进行握手。使用双向握手机制,传输仅仅发生在VALID、READY同时有效的时候。下图是几种握手机制: 在这里插入图片描述

VALID before READY 在这里插入图片描述

READY before VALID 在这里插入图片描述

VALID with READY

通道顺序

AXI协议要求通道间满足如下关系: -写响应必须跟随最后一次burst的的写传输 -读数据必须跟随数据对应的地址 -通道握手信号需要确认一些依赖关系

通道握手信号的依赖关系 为防止死锁,通道握手信号需要遵循一定的依赖关系。 1、VALID信号不能依赖READY信号。 2、AXI接口可以等到检测到VALID才断言对应的READY,也可以检测到VALID之前就断言READY。 在这里插入图片描述

读传输事务依赖关系 在这里插入图片描述

AXI3写传输事务依赖关系



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3